/**
 * 
 */
package com.netscenery.yang.parser;

import java.util.Stack;

import com.netscenery.yang.YangStatement;

/**
 * @author llly
 *
 */
public class YangParserEnv {
	private int beginLine = -1;
	private int endLine = -1;
	private int beginColumn = -1;
	private int endColumn = -1;
	private int curLine = -1;
	private int curColum = -1;
	private int beginPos = -1;
	private int endPos = -1;
	private int curPos = -1;
	private Stack<YangStatement> statements = new Stack<YangStatement>();
	private boolean isInDoubleQuotes;
	private boolean isInSingleQuotes;
	private String filename;
	
	/**
	 * @return the filename
	 */
	public String getFilename() {
		return filename;
	}

	/**
	 * @param filename the filename to set
	 */
	public void setFilename(String filename) {
		this.filename = filename;
	}

	/**
	 * @return the isInDoubleQuotes
	 */
	public boolean isInDoubleQuotes() {
		return isInDoubleQuotes;
	}

	/**
	 * @param isInDoubleQuotes the isInDoubleQuotes to set
	 */
	public void setInDoubleQuotes(boolean isInDoubleQuotes) {
		this.isInDoubleQuotes = isInDoubleQuotes;
	}

	/**
	 * @return the isInSingleQuotes
	 */
	public boolean isInSingleQuotes() {
		return isInSingleQuotes;
	}

	/**
	 * @param isInSingleQuotes the isInSingleQuotes to set
	 */
	public void setInSingleQuotes(boolean isInSingleQuotes) {
		this.isInSingleQuotes = isInSingleQuotes;
	}
	
	public boolean isInQuotes(){
		if (true == isInDoubleQuotes
				|| true == isInSingleQuotes){
			return true;
		}
		
		return false;
	}

	/**
	 * @return the statements
	 */
	public Stack<YangStatement> getStatements() {
		return statements;
	}

	/**
	 * @return the beginPos
	 */
	public int getBeginPos() {
		return beginPos;
	}
	/**
	 * @param beginPos the beginPos to set
	 */
	public void setBeginPos(int beginPos) {
		this.beginPos = beginPos;
	}
	/**
	 * @return the endPos
	 */
	public int getEndPos() {
		return endPos;
	}
	/**
	 * @param endPos the endPos to set
	 */
	public void setEndPos(int endPos) {
		this.endPos = endPos;
	}
	/**
	 * @return the curPos
	 */
	public int getCurPos() {
		return curPos;
	}
	/**
	 * @param curPos the curPos to set
	 */
	public void setCurPos(int curPos) {
		this.curPos = curPos;
	}
	/**
	 * @return the beginLine
	 */
	public int getBeginLine() {
		return beginLine;
	}
	/**
	 * @param beginLine the beginLine to set
	 */
	public void setBeginLine(int beginLine) {
		this.beginLine = beginLine;
	}
	/**
	 * @return the endLine
	 */
	public int getEndLine() {
		return endLine;
	}
	/**
	 * @param endLine the endLine to set
	 */
	public void setEndLine(int endLine) {
		this.endLine = endLine;
	}
	/**
	 * @return the beginColumn
	 */
	public int getBeginColumn() {
		return beginColumn;
	}
	/**
	 * @param beginColumn the beginColumn to set
	 */
	public void setBeginColumn(int beginColumn) {
		this.beginColumn = beginColumn;
	}
	/**
	 * @return the endColumn
	 */
	public int getEndColumn() {
		return endColumn;
	}
	/**
	 * @param endColumn the endColumn to set
	 */
	public void setEndColumn(int endColumn) {
		this.endColumn = endColumn;
	}
	/**
	 * @return the curLine
	 */
	public int getCurLine() {
		return curLine;
	}
	/**
	 * @param curLine the curLine to set
	 */
	public void setCurLine(int curLine) {
		this.curLine = curLine;
	}
	/**
	 * @return the curColum
	 */
	public int getCurColum() {
		return curColum;
	}
	/**
	 * @param curColum the curColum to set
	 */
	public void setCurColum(int curColum) {
		this.curColum = curColum;
	}
	
	
}
